Ext.define('app.view.system.ProfileForm', {
	extend : 'Ext.panel.Panel',
	xtype : 'profilepanel',
	title : '列表信息',
	id : 'ProfileForm',
	layout : 'border',
	
	initComponent : function() {
		// 搜索栏
		this.searchPanel = new Ext.form.Panel({
					region : 'north',
					layout : {
						type : 'hbox',
						align : 'middle'
					},
					height : 40,
					defaults : {
						xtype : 'label',
						style : 'margin-left:10px;'
					},
					items : [{
								text : '学号'
							}, {
								width : 120,
								name : 'Q_LIKES_regNo',
								xtype : "textfield"
							}, {
								text : '状态'
							}, {
								hiddenName : 'Q_EQI_status',
								xtype : 'combo',
								width : 80,
								mode : 'local',
								editable : true,
								triggerAction : 'all',
								store : [['0', '旷课'], ['1', '未签到'],
										['1', '未签退']]
							}, {
								xtype : 'button',
								text : '查询',
								scope : this,
								iconCls : 'btn-search',
								handler : this.search
							}, {
								xtype : 'button',
								text : '清空',
								scope : this,
								iconCls : 'reset',
								handler : this.reset
							}]
				});

		this.dataStore = new Ext.data.Store({
					autoLoad : true,
					fields : ['id', 'name', 'status', 'regNo', 'idcard'],
					proxy : {
						type : 'ajax',
						url : __ctxPath + "/example/listStudent.do",
						reader : {
							type : 'json',
							rootProperty : 'result',
							totalProperty : 'totalCounts'
						}
					}
				});
		this.gridPanel = new Ext.grid.Panel({
					region : 'center',
					store : this.dataStore,
					selModel : 'checkboxmodel',
					forceFit : true,
					viewConfig : {
						enableTextSelection : true
					},
					columns : [{
								xtype : 'rownumberer'
							}, {
								text : 'id',
								dataIndex : 'id',
								hidden : true
							}, {
								text : '姓名',
								dataIndex : 'name'
							}, {
								text : '学号',
								dataIndex : 'regNo'
							}, {
								text : '身份证',
								dataIndex : 'idcard'
							}, {
								text : '状态',
								dataIndex : 'status',
								sortable : true
							}],
					dockedItems : [{
								xtype : 'toolbar',
								dock : 'top',
								items : [{
											iconCls : 'btn-archive-cancel-trace',
											text : '更新缺勤信息',
											xtype : 'button',
											scope : this,
											handler : this.updateQueQin
										}, '-', {
											iconCls : 'btn-xls',
											text : '导出缺勤名单',
											xtype : 'button',
											scope : this,
											handler : this.exportXls
										}, '-', {
											iconCls : 'btn-del',
											text : '删除缺勤',
											xtype : 'button',
											scope : this,
											handler : this.removeSelRs
										}]
							}, {
								xtype : 'pagingtoolbar',
								store : this.dataStore,
								dock : 'bottom',
								displayInfo : true
							}]
				});

		this.items = [this.searchPanel, this.gridPanel];
		this.callParent();
		
		this.gridPanel.addListener('itemdblclick', this.itemdblclick);
	},

	// 重置查询表单
	reset : function() {
		this.searchPanel.getForm().reset();
	},
	// 按条件搜索
	search : function() {
		// 提交表单
		if (this.searchPanel.getForm().isValid()) {
			var store = this.gridPanel.getStore();
			var baseParam = $(this.searchPanel.getEl().dom).find(':input').serialize();
			var deParams = Ext.urlDecode(baseParam);
			deParams.start = 0;

			store.proxy.extraParams = deParams;
			store.load();
		}
	},
	itemdblclick: function(grid, record) {
		Ext.create('app.view.system.ProfileFormWin', {
    		sid: record.data.id
    	}).show();
    }
});
